package com.py.credit.service;

import com.py.credit.entity.CompanyGenealogy;
import com.py.credit.entity.GenealogyNode;
import com.py.framework.core.base.service.BaseService;

import java.util.List;
import java.util.Map;

/**
 * 企业族谱服务接口
 *
 * @author YaoS
 * @date 2019-04-15 10:17
 */
public interface CompanyGenealogyService extends BaseService<CompanyGenealogy> {

    /**
     * 功能描述: 获取企业族谱详情
     *
     * @param id id
     * @return CompanyGenealogy
     * @author YaoS
     * @date 19/4/17 16:04
     */
	CompanyGenealogy getDetail(String id);

    /**
     * 功能描述: 获取企业族谱信息
     *
     * @param A000001 企业名称
     * @return 企业族谱接口信息
     * @author YaoS
     * @date 19/4/15 10:06
     */
    List<GenealogyNode> getGenealogy(String A000001);

    /**
     * 功能描述：新增企业族谱关联表
     * 
     * @param companyGenealogy 企业族谱关系类
     */
	void addCompanyGenealogy(CompanyGenealogy companyGenealogy);

	/**
	 * 功能描述：删除企业族谱关联表
	 * 
	 * @param ids   企业族谱关联表id
	 */
	void delCompanyGenealogy(List<String>  ids);
	
	 /**
     * 功能描述：修改企业族谱关联表
     * 
     * @param companyGenealogy 企业族谱关系类
     */
	void updateCompanyGenealogy(CompanyGenealogy companyGenealogy);

	/**
	 * 功能描述: 获取所有的表
	 *
	 * @return
	 * @author YaoS
	 * @date 19/4/16 18:05
	 */
	List<Map<String, Object>> getTableList();

	
	/**
	 * @Title: getGenealogyDetail
	 * @Description: TODO(这里用一句话描述这个方法的作用)
	 * @param @param name
	 * @param @param type
	 * @param @return    设定文件
	 * @return List<GenealogyNode>    返回类型
	 * @throws
	*/
	
	Map<String,Object> getGenealogyDetail(String name, String type);

}
